package com.yxw.yxnet_cd_center.customer_service.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @author liuxin
 * @date 2023.09.13
 */
@Data
@TableName("yx_cs_user")
public class YxCsUserEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private Long id;

    /** 用户id */
    private Long userId;

    /** 部门id */
    private Long deptId;

    /** 岗位id */
    private Long postId;

    /** 手机号 */
    private String mobilePhone;

    /** 用户身份 */
    private String userIdentity;

    /** 密码 */
    private String password;

    /** 用户号码 */
    private String userNum;

    /** 用户状态 */
    private Integer userStatus;

    /** 用户上级user_id */
    private Long parentUserId;

    /** 昵称 */
    private String nickName;

    /** 邮箱 */
    private String email;

    /** 用户真实姓名 */
    private String userName;

    /** 证件类型：1 身份证，2 军官证，3 护照 */
    private Integer identityCardType;

    /** 证件号码 */
    private String identityCardNo;

    /** 登录时间 */
    private LocalDateTime loginTime;

    /** 头像路径 */
    private String picUrl;

    /** 登录ip */
    private String loginIp;

    /** 上次登录时间 */
    private LocalDateTime lastLoginTime;

    /** 上次登录ip */
    private String lastLoginIp;

    /** 出生日期 */
    private LocalDateTime birthDate;

    /** 入职日期 */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date hireDate;

    /** 性别 */
    private Integer gender;

    /** 备注 */
    private String remark;

    /** 创建时间 */
    private LocalDateTime createTime;

    /** 更新时间 */
    private LocalDateTime updateTime;

    /** 连续登录失败次数 */
    private Integer loginFalseCount;

    /** 用户注册来源 */
    private String userSource;
    /*
    *客户端mqtt主题订阅结果 0失败，1成功
    */
    private Integer subscribeTopicResult;

    /**
     * 登录状态：0-未登录 1-已登录
     */
    private Integer loginStatus;
}